const PostDao = require('../dao/post')
const ValidatorPost = require('../validators/post');
const ok =  require('../core/response-shortcut');
class PostController {
    /**
     * 创建文章
     * @param ctx
     * @returns {Promise.<void>}
     */
    static async createPost(ctx) {
        console.log('::::::::::::::::::::::我是controllers里的post.js的create方法::::::::')
        // 接收客户端参数
        let req = ctx.request.body;

        //验证器,如果验证不通过,直接在验证器里报错
        await ValidatorPost.createPost(req)
        
        //验证通过,就操作数据库
        //创建文章sql
        const ret = await PostDao.createPost(req);
        console.log('这是ret',ret.id)
        // 把刚刚新建的文章ID查询文章详情，且返回新创建的文章信息
        const data = await PostDao.getPost(ret.id);
        ctx.response.status = 200;
        ctx.body=ok.json(data,'创建文章成功')
    }

    /**
     * 获取文章详情
     * @param ctx
     * @returns {Promise.<void>}
     */
    static async getPost(ctx) {
        let postId = ctx.params.postId
        console.log('检查postId',postId)
        await ValidatorPost.getPost(postId)
        let data = await PostDao.getPost(postId);
        console.log('吱吱',data)
        ctx.response.status = 200;
        ctx.body=ok.json(data)
    }
}

module.exports = PostController